home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 25 / AACD 25.iso / AACD / Magazine / Online / QMail / source / slurpclose.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-04-15  |  333 b   |  18 lines

  1. #include "stralloc.h"
  2. #include "readwrite.h"
  3. #include "slurpclose.h"
  4.  
  5. int slurpclose(fd,sa,bufsize)
  6. int fd;
  7. stralloc *sa;
  8. int bufsize;
  9. {
  10.   int r;
  11.   for (;;) {
  12.     if (!stralloc_readyplus(sa,bufsize)) { close(fd); return -1; }
  13.     r = read(fd,sa->s + sa->len,bufsize);
  14.     if (r <= 0) { close(fd); return r; }
  15.     sa->len += r;
  16.   }
  17. }
  18.